#!/bin/bash

# 测试脚本 - 用于测试Golang服务器的加密API

echo "=== 测试 Golang 加密API ==="
echo ""

# 检查服务器是否运行
if ! curl -f http://localhost:8080/health > /dev/null 2>&1; then
    echo "❌ 服务器未运行，请先启动服务器"
    echo "   运行: cd golang_server && go run main.go"
    exit 1
fi

echo "✅ 服务器运行正常"
echo ""

# 测试健康检查
echo "🔍 测试健康检查..."
curl -X GET http://localhost:8080/health | jq '.'
echo ""

# 模拟加密登录请求
echo "🔐 测试加密登录..."
# 这里需要实际的加密数据，由于是演示，我们使用模拟数据
LOGIN_DATA='{"username":"admin","password":"password123"}'
echo "原始登录数据: $LOGIN_DATA"

# 注意：这里需要实际的加密实现，这只是演示结构
echo ""
echo "📝 API接口说明:"
echo "   POST /api/login  - 用户登录 (需要加密)"
echo "   GET  /api/user   - 获取用户信息 (需要加密响应)"
echo "   GET  /api/users  - 获取用户列表 (需要加密响应)"
echo "   POST /api/users  - 创建用户 (需要加密请求和响应)"
echo ""

echo "🎯 测试说明:"
echo "   1. 所有 /api/* 接口都需要加密通讯"
echo "   2. 请求数据格式: {\"data\": \"encrypted_base64_string\"}"
echo "   3. 响应数据格式: {\"success\": true, \"data\": \"encrypted_base64_string\", \"message\": \"Success\"}"
echo "   4. 使用Flutter客户端进行完整测试"
echo ""

echo "✅ 服务器API测试完成"
echo "   使用Flutter客户端进行完整的加密通讯测试"
